{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Bayesian Statistics \n",
    "\n",
    "## Chapter Zero Review\n",
    "\n",
    "Omission\n",
    "\n",
    "## Chapter One Introduction \n",
    "\n",
    "### Conditional Probability \n",
    "\n",
    "As we have mentioned in `Using Python in Advanced Statistics`, **probability** is a number within in 0 to 1(included 0 and 1),and the meaning of probability is that the credibility(可信度) of a event or a prediction. According to this idea, **COnditional Probability** is the probability under some kinds of conditions. For example, if there is a rain tomorrow in Zhuhai. I check the data, found that in tomorrow's date, there are about 30% that will rain. **This is the probability**. If I want to know the possibility of rain tomorrow if it is already raining today. **This is the conditional probability**, which is a probability of an event happen based on a happened fact. \n",
    "\n",
    "The usual notation for conditional probability is $p(A\\mid B)$, which means under B event's condition, the probability of A.\n",
    "\n",
    "*PS: if the probability of an event is 0, we says it is **false**; in the opposite, if the probability is 1, it is **true**.*\n",
    "\n",
    "### Conjoint Probability \n",
    "\n",
    "After known what is **conditional probability**, we can easily know what is **conjoint probability**, which is another way to say the probability that two things are true. This time, the notation is: $p(A B)$ or $P(A\\ and \\ B)$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "'dict' object is not callable",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-3-d71292ea59c3>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     11\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Sample Venn diagram - plot one\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     12\u001b[0m plt.annotate('P(AB)', xy=v.get_label_by_id('11').get_position() - np.array([0, 0.05]), xytext=(-70,-70),\n\u001b[0;32m---> 13\u001b[0;31m              \u001b[0mha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'center'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtextcoords\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'offset points'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbbox\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mboxstyle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'round,pad=0.5'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'gray'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     14\u001b[0m              arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0.5',color='gray'))\n\u001b[1;32m     15\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mTypeError\u001b[0m: 'dict' object is not callable"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7432df70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np \n",
    "import sympy\n",
    "from matplotlib_venn import venn2, venn3_circles\n",
    "\n",
    "plt.figure(figsize=(4,4))\n",
    "v = venn2(subsets=(2,2,1), set_labels = ('A', 'B'))\n",
    "\n",
    "\n",
    "\n",
    "plt.title(\"Sample Venn diagram - plot one\")\n",
    "plt.annotate('P(AB)', xy=v.get_label_by_id('11').get_position() - np.array([0, 0.05]), xytext=(-70,-70),\n",
    "             ha='center', textcoords='offset points', bbox=dict(boxstyle='round,pad=0.5', fc='gray', alpha=0.1),\n",
    "             arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0.5',color='gray'))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The conjointed part can represent the conjoint probability that $A$ and $B$ are both true. For instance, if $A$ and $B$ are independent, we know that the $P(A\\ and \\ B) = P(A)P(B) \\Leftrightarrow P(A \\mid B) = p(A)$, for whether A is true or not will not affect B; but if $A$ and $B$ are not independent, just like the weather, if we know that it raind today, it is more likely that it will rain tomorrow, so $p(A|B) > p(A)$. \n",
    "\n",
    "In general, the probability of a conjunction is : $\\mathbf  p(A\\ and \\ B) = p(A)p(B \\mid A)$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bayes's theorem \n",
    "\n",
    "Known what is conditional probability and cojoint probability, we can move on to the Headlight: **Bayes's theorem**. First, we should make sure we are in the same channel: \n",
    "   1. conjoint probability: $p(A\\ and \\ B) = p(B\\ and \\ A)$ \n",
    "   2. probability of a conjunction: $p(A\\ and \\ B) = p(A)p(B \\mid A)$\n",
    "   3. interchange $A$ and $B$: $p(B\\ and \\ A) = p(B)p(A \\mid B)$\n",
    "   \n",
    "In the light of point 2 and point 3, we can combine the two equations to one euqation: $\\Rightarrow p(A) \\ p(B \\mid A) = p(B) \\ p(A \\mid B)$, divided by $p(B)$ in the meantime and we can get the **Bayes's theorem !** : $\\Rightarrow \\frac{p(A) \\ p(B \\mid A)}{p(B)} =  p(A \\mid B)$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can have a example, Allen B.Downey called it **The Cookie Problem**: Suppose there are two bowls of cookies. Bowl-1 contains $30$ vanilla cookies and $10$ chocolate cookies. Bowl-2 contains $20$ of each.\n",
    "Now suppose you choose one of the bowls at random and, without looking, select a cookie at random. The cookie is vanilla. What is the probability that it came from Bowl-1?\n",
    "This is a conditional probability; we want $p(Bowl-1|vanilla)$, but it is not obvious how to compute it. If I asked a different question — the probability of a vanilla cookie given Bowl-1 — it would be easy: \n",
    "\n",
    "$$p(vanilla\\mid Bowl-1) = \\frac{3}{4}$$\n",
    "\n",
    "Sadly, $p(A|B)$ is not the same as $p(B|A)$, but there is a way to get from one\n",
    "to the other: Bayes’s theorem.\n",
    "\n",
    "Using **Bayes's Theorem**, we can easily solve the cookie problem: <br> \n",
    "First, assume that $B_1$ represent the probility that cookie from Bowl-1 and $p(V)$ is the probability of taking out a Vanilla. \n",
    "\n",
    "$$P(B_1\\mid V) = \\frac{p(B_1)p(V\\mid B_1)}{p(V)}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There is another way to think of Bayes's theorem: it gives us a way to update the probability of a hypothesis, $H$, in light of some body of data,$D$. \n",
    "\n",
    "This way of thinking about Bayes's theorem is called the **diachronic interpretation**. \"Diachronic\" means that something is happening over time; in this case the probability of the hypotheses changes, over time, as we see new data. \n",
    "\n",
    "Rewriting Bayes's theorem with $H$ and $D$ yields:\n",
    "\n",
    "$$P(H|D) = \\frac{p(H)p(D|H)}{p(D)}$$\n",
    "\n",
    "In this interpretation, each term has a name:\n",
    "\n",
    "* $p(H)$ is the probability of the hypothesis before we see the data, called the prior probability, or just **prior**;\n",
    "* $p(D)$ is the probability of the data under any hypothesis, called the normalizing constant(total probability);\n",
    "* $P(H|D)$ is waht we want to compute, the probability of the hypothesis after we see the data, called the **posterior**;\n",
    "* $P(D|H)$ is the probability of the data under the hypothesis, called the likelihood\n",
    "\n",
    "In the classical Statistics theory, the data is the random variable. The the Cookie Problem for example, if we want to know the probability of taking out vanilla cookies from Bowl-1, the random variable is $1,2,3,\\dots$, the data or the number. However, if we want to know the probability of which Bowls does the vanilla cookie come from, as we got a vanilla cookies already, this time, the random varaible is the probability, not the data. This is the biggest difference between Bayesian and Frequentist. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Chapter Two Computational Statistics \n",
    "\n",
    "In statistics, a **distribution** is a set of values and thier correponding probabilites. \n",
    "\n",
    "You can get more information about Probabilities and Statistics <a href=\"https://terenceliu98.github.io/Jupytersite//Html/Use_PY_in_Advanced_Statstics.html\">here</a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is a example of rolling a dice, as we all know that the probability of each side is $\\frac{1}{6}$, then, this is a Discrete Uniform Distribution. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7434e2f0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "a = [1,2,3,4,5,6]\n",
    "sample = np.random.randint(len(a), size = 10000)\n",
    "\n",
    "dict = {}\n",
    "for key in sample:\n",
    "    dict[key] = dict.get(key, 0) + 1\n",
    "len(dict)\n",
    "\n",
    "x = [dict[i] for i in dict] # change dict to list \n",
    "pmf = [dict[i]/len(sample) for i in dict] #calculate pmf of each element in list \n",
    "\n",
    "ax.plot(a,pmf,'bo')\n",
    "ax.vlines(a, 0, pmf, colors='b', lw=5, alpha=0.5)\n",
    "\n",
    "line1 = [(0, 0.1666667), (10, 0.1666667)]\n",
    "(line1_xs, line1_ys) = zip(*line1)\n",
    "ax.add_line(matplotlib.lines.Line2D(line1_xs, line1_ys, linewidth=1, color='red') )        \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Chapter Three Naive Bayes \n",
    "\n",
    "Naive Bayes methods is the basic idea in both Naive Bayes Classification and Bayes Belief Network. It is totally an extension of the Bayes Theorm that we consider every pair of features given the value of the class variable are conditional independent.  Given classs vairable $y$ and dependent feature vector $x_1$ through $x_2$:\n",
    "\n",
    "$$P(y|x_1, \\dots, x_n) = \\frac{P(y)P(x_1, \\dots, x_n|y)}{P(x_1, \\dots, x_n)}$$\n",
    "\n",
    "Under this assumption we can rewrite the Bayes Theorm:\n",
    "\n",
    "$$P(y|x_1, \\dots, x_n) = \\frac{P(y) \\prod_{i=1}^n P(x_i |y)}{P(x_1, \\dots, x_n)}$$\n",
    "\n",
    "Since $P(x_1, \\dots, x_n)$ is constant given the input, we can use the following classification rule:\n",
    "\n",
    "$$P(y|x_1, \\dots, x_n) \\propto P(y) \\prod_{i=1}^n P(x_i | y) \\Rightarrow \\hat{y} = arg \\max \\limits_{y} P(y) \\prod_{i = 1}^n P(x_i | y)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "and we can use Maximum A posterior estimation to estimate $P(y)$ and P(x_i | y)$; the former is then the relative frequency of class $y$ in the training set. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### How to build a basic model using scikit-learn \n",
    "\n",
    "#### Gaussian\n",
    "\n",
    "It is used in classificaiton and it assumes that feature follow a normal distribution (the likelihood function is assumed to be Normal)\n",
    "\n",
    "$$P(x_i | y) = \\frac{1}{\\sqrt{2\\pi}\\sigma_y} exp( - \\frac{(x_i - \\mu_y)^2}{2 \\sigma_y^2})$$\n",
    "\n",
    "THe parameter $\\sigma_y$ and $\\mu_y$ are estimated using MLE."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1, 'Scatter plot')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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L0Z+fj4WLVokVjhEREREDqKdDlu/fj1atWqF2NhYpKamuuzzwQcfOP5//PjxeOihhwS9R7BcGB0V1QyFhaX+DkMUUs1NqnkBzC1YSTU3qeYFCMuNF0b7h2inw7Zs2YK9e/ciMTERS5cuxY4dOzBv3jzH86Wlpfj8888dj+12O0JCeBEZERER+YZoR4JWrlzp+P/U1FRkZ2djxowZjrYmTZrg008/xb333ot77rkHX375peAjQUREREQN5fP7BM2cORP9+vVD//798e6772L27NmorKzELbfcgnfeecfX4RAREZFMBfUCqrwmyP+kmptU8wKYW7CSam5SzQvgNUHBgMtmEBERkSyxCCIiIiJZYhFEREREssQiiIiIiGSJRRARERHJEosgIiIikiUWQURERCRLLIKIiIhIlnx+x2giOco6VoDUzDwYSozQhWmRpI9GbIeW/g6LiEjWWAQRiSzrWAGS03NhstgAAIYSI5LTcwGAhRARkR/xdBiRyFIz8xwFUDWTxYbUzDw/RURERACLICLRGUqMgtqJiMg3WAQRiUwXphXUTkREvsEiiEhkSfpoaFTOXzWNSokkfbSfIiIiIoAXRhOJrvriZ84OIyIKLCyCiHwgtkNLFj1ERAGGp8OIiIhIllgEERERkSyxCCIiIiJZYhFEREREssQiiIiIiGSJRRARERHJEosgIiIikiUWQURERCRLLIKIiIhIllgEERERkSyxCCIiIiJZYhFEREREssQiiIiIiGSJRRARERHJEosgIiIikiUWQURERCRLLIKIiIhIllgEERERkSyxCCIiIiJZYhFEREREssQiiIiIiGSJRRARERHJEosgIiIikiUWQURERCRLLIKIiIhIllT+DoAokGQdK0BqZh4ulhgRGaZFkj4asR1a+jssIiISAYsgoiuyjhUgOT0XJosNAGAoMSI5PRcAWAgREUkQT4cRXZGamecogKqZLDakZub5KSIiIhITiyCiKwwlRkHtREQU3FgEEV2hC9MKaiciouDGIojoiiR9NDQq56+ERqVEkj7aTxEREZGYeGE00RXVFz9zdhgRkTywCCK6SmyHlojt0BJRUc1QWFjq73CIiEhEPB1GREREssQiiIiIiGSJRRARERHJEosgIiIikiUWQURERCRLLIKIiIhIllgEERERkSyxCCIiIiJZYhFEREREssQ7RlPA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ERERkSYxBBEREZEmMQQRERGRJjEEERERkSYxBBEREZEmMQQRERGRJjEEERERkSYxBBEREZEmMQQRERGRJjEEERERkSYxBBEREZEmMQQRERGRJjEEERERkSYxBBEREZEmMQQRERGRJjEEERERkSYxBBEREZEmBbjzzVesWIGdO3cCAGJjYzFr1iyn+WPHjmHevHk4f/48oqKi8PbbbyMgwK0lURexHTfDVpSL+oYz0IUYoB+WCn3/EZ4ui4iIqMPcdiTIbDZj7969yMvLw9atW3H06FHk5+c7vSY9PR0LFizA7t27ISLYtGmTu8qhLmQ7boa1YC2kwQJAIA0WWAvWwnbc7OnSiIiIOsxtIchoNOLNN9+EXq9HYGAgTCYTysvLlfnTp0/jwoULGDRoEAAgJSUFu3btclc51IVsRbmA3eY8aLe1jhMREamE28499e/fX/nzn3/+iZ07d+LTTz9VxqqqqmA0GpVto9GIyspKlz4jLCzk6gu9RozGUE+X0GXqG85cclwazvhUn77Uy7+xN3Xy1d58tS/At3vzBW6/AOf48eOYNm0aZs2ahb59+yrjLS0t0Ol0yraIOG13hMXSgJYW6apS3cZoDEV1db2ny+gyuhDD/58Ku3jcV/r0tTX7J/amTr7am6/2BbjWG8OSZ7j17rADBw5g0qRJeOONNzB+/HinuYiICFRXVyvbNTU1CA8Pd2c51EX0w1KBAL3zYIC+dZyIiEgl3BaCKioqMH36dOTk5CAhIeGi+d69eyMoKAgHDhwAAGzbtg0xMTHuKoe6kL7/CATdMwm6kDAAOuhCwhB0zyTeHUZERKrittNha9asgdVqRVZWljL22GOPYc+ePZgxYwbuuusu5OTkYP78+WhoaMCAAQPw9NNPu6sc6mL6/iOg7z/Cpw9lExGRb9OJiPdfVHMZvCbI83y1N1/tC2BvauWrvflqXwCvCVIDfmM0ERERaRJDEBEREWkSQxARERFpEkMQERERaRJDEBEREWkSQxARERFpEkMQERERaRJDEBEREWkSQxARERFpEkMQERERaRJDEBEREWkSQxARERFpEkMQERERaRJDEBEREWkSQxARERFpEkMQERERaVKApwu4Gn5+Ok+X0GFqqtVVvtqbr/YFsDe18tXefLUvwLd78wU6ERFPF0FERER0rfF0GBEREWkSQxARERFpEkMQERER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\n",
      "text/plain": [
       "<Figure size 590.85x504 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt\n",
    "import matplotlib.colors as colors\n",
    "import seaborn as sns\n",
    "import itertools\n",
    "from scipy.stats import norm\n",
    "import scipy.stats\n",
    "from sklearn.naive_bayes import GaussianNB\n",
    "%matplotlib inline\n",
    "sns.set()\n",
    "\n",
    "\n",
    "# iris is a famous data set  and used in every data mining's reference book, including the sklearn's official doc\n",
    "\n",
    "iris = sns.load_dataset(\"iris\")\n",
    "iris = iris.rename(index = str, columns = {'sepal_length':'1_sepal_length','sepal_width':'2_sepal_width', 'petal_length':'3_petal_length', 'petal_width':'4_petal_width'})\n",
    "\n",
    "#Plot the scatter of sepal length vs sepal width\n",
    "sns.FacetGrid(iris, hue=\"species\", height=7) .map(plt.scatter,\"1_sepal_length\", \"2_sepal_width\", )  .add_legend()\n",
    "plt.title('Scatter plot')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxwAAALSCAYAAABXktd4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdd3iT5eLG8TvpSFvKllFQlKEMByIOQPaSKaCICIqAbOwRVPZs2UNAigqIIktZgnAAQQ4HRGW4UEH2BlllN23Tpsnz+6OH/qyTStO34/u5Li+SJ23eO09qmrvv+7yxGWOMAAAAAMAH7FYHAAAAAJB9UTgAAAAA+AyFAwAAAIDPUDgAAAAA+AyFAwAAAIDPUDgAAAAA+AyFA4Akafny5XrmmWfUpEkT1a9fX506ddKPP/6YoRk++ugjzZ49O13u6/Tp0ypbtqyWLVuWavy9997TwIED//b7W7RooevXr6dLjvLly6tFixZq0aKFmjdvrmeeeUbffffdLd93eomMjFRUVNQ/+t7z58+rbdu2f/k16fm87ty5U82aNUuX+0qr7t27a8WKFWn6nk2bNmn06NE+SgQAWYO/1QEAWG/KlCn65ptvNG3aNBUvXlyStH379pQ3WMWKFcuQHM8991y63p/dbteECRNUuXJllSpVKk3fu2rVqnTLERQUlOr+1q1bp0GDBumzzz5Lt21YpUiRIlq8ePFffk16P69ZSb169VSvXj2rYwCApSgcQA538eJFzZs3Txs3blThwoVTxqtWraqBAwcqPj5ekrR582bNmjVLiYmJunz5slq2bKk+ffpo586dGjVqlNasWSNJqa4fOXJEQ4YMUWJioowxat26tdq3b/+n41FRUbpy5YqGDx/+l9ubOnWq7rjjDh06dEhJSUmKiIhQ5cqVf/fYgoKC1KlTJ73++utavHixAgMDU91+7NgxRUZGKjY2VtHR0SpXrpymTZsmh8OhsmXLavv27erVq5c6deqkJ554QpI0adIkSVK/fv20bNkyffTRR/J6vcqXL5+GDRum0qVL/+2cX716VYUKFZIkeb1ejR07Vj/++KNiY2NljNHo0aNVvnx51apVS0uXLlXJkiUlSR07dtTzzz+vmjVravLkyfrmm2/k8XhUoUIFDR06VKGhofrwww+1ePFiBQQEyOFwKDIyUmXKlEm1fafTqSFDhmj//v0qXLiw/Pz8Uubv/PnzioyM1NmzZ+V2u9W0aVP16NEj5Wdg2rRp8nq9CgkJUUREhEJDQ9W8eXPt2rXrpp7XQ4cOKTIyUlevXpXNZlPnzp3VsmXLND2vcXFx+te//qUTJ04oT548ioyMVMmSJRUTE6OIiAjt379fNptNNWrU0Kuvvip/f/+U57NAgQKSlHL90KFDf7rd8+fPa+DAgbpw4YKKFSumS5cupWRYvny5lixZIrfbrWvXrqlr165q166dVqxYoeXLlys+Pl6hoaFq1aqVNmzYoFmzZikmJkZjxozRwYMH5Xa7VbVqVfXv31/+/v6aPn26Nm7cqICAAOXPn1/jxo1L9f8jAGRpBkCOtnHjRtOqVau//Bqv12uef/55c+zYMWOMMefOnTPly5c3ly5dMjt27DBNmzZN+dpfXx80aJCZNWuWMcaYCxcumD59+hiPx/On49OnTzcRERF/u73y5cubvXv3GmOMee+990z79u1/l/nUqVPmwQcfNB6Px7Rv396MHz/eGGPMnDlzzIABA4wxxowfP9588sknxhhjEhMTTbNmzcz69euNMcbcc8895tKlS2b58uWmW7duxhhjkpKSTPXq1c2xY8fMzp07Tbt27UxcXJwxxpgvvvjCNGrU6A9zlCtXzjz55JPmySefNLVr1zb33nuv2bJlizHGmO+//96Eh4cbj8djjDFm1qxZpnv37sYYY0aPHm0mTJhgjDHmxIkTplatWiYpKclERUWZ8ePHG6/Xa4wx5o033jAjRowwSUlJ5t577zXnz583xhizcuVKs3jx4t9lGjNmjOnfv7/xer3m0qVLpmbNmmb69OnGGGNeeOEFs2nTJmOMMS6Xy7zwwgtm7dq1Jjo62lSuXNn8/PPPxhhjNmzYYF566aWUef6r5/vG8+p2u029evXMhg0bUp7XGjVqmO+///6mn9cdO3aYcuXKme+++84YY8zixYtN69atjTHG9O/f34waNcp4vV6TkJBgOnfunJLnxvN5w43rf7XdXr16malTpxpjjDl+/Lh58MEHzccff2ycTqdp06aNuXz5sjHGmF27dqXMwccff2weeeQRExMTk3L9xs/PwIEDzfz581N+ll5//XUze/Zsc+bMGfPQQw+ZhISElAwbN2783WMHgKyKPRxADmeMSXXd6XSqffv2kpL/kty4cWO9+uqrmjlzprZs2ZKy58IYk7L34880aNBAAwYM0E8//aSqVatq6NChstvtfzp+g81m+8vtFStWTOXLl5ckVahQQStXrvzTDHa7XZMmTVLLli1VvXr1VLf169dPX331ld59910dP35cFy5cUFxcXKqvadKkiSZOnKjo6Gjt3btXd911l+666y4tXbpUJ06cSLV+4fr167p69ary5cuX6j5+e0jVtm3b1Lt3b61evVqVKlVS3rx5tXjxYp06dUo7d+5Urly5JEnt2rXT888/r759+2rJkiVq3bq1/Pz8tGXLFsXExGjbtm2SJLfbrYIFC8rPz0+NGjVS27ZtVbt2bVWvXl21atX63Zxs375dgwcPls1mU4ECBdSgQQNJyc/3N998o2vXrunNN99MGdu/f7/8/f119913q0KFCpKkhg0bqmHDhjp9+vTfPt83HD9+XAkJCWrYsKGk5MOxGjZsqC+++EKPPfbYTT+vZcuW1UMPPSRJatWqlUaOHKmYmBht3bpVH330kWw2mwIDA9W2bVvNmzdP3bp1+8P7ueHPtrtt2zYNGDBAknTnnXfqsccekyTlypVLM2fO1Oeff67jx49r//79qX5uypYtq9DQ0N9tZ8uWLdq9e7eWL18uSXK5XCnzUK5cObVq1Uo1a9ZUzZo1VbVq1b/MDABZCYUDyOEeeOABHTt2TFeuXFH+/PkVGhqa8ub4xqEwcXFxatWqlerXr6+HH35YTz/9tP7zn//IGCObzZaqtLjd7pTLderU0YYNG7Rt2zZt375db731llasWPGn4zf81fak5DfwN/x2+38kLCxMERERGjBggFq2bJky/uqrr8rj8ahx48aqXbu2zp49+7v7Cg4O1hNPPKE1a9Zo165deuaZZyQlHwrVokUL9evXL+X6hQsXlDdv3r+d82rVqqlEiRLavXu3jhw5ojFjxqhTp06qV6+eSpUqpdWrV0uSSpYsqbJly2rTpk1as2aNli5dmrKtwYMHp5SJ2NhYJSQkSJImT56sgwcPatu2bZo9e7ZWrVqVUh5+7deP08/PL+V+jTFavHixgoODJUmXL1+Ww+HQjh07ZLPZUn3/gQMHUr2x/rvn1ePxpLqPG/eTlJQk6eaf11+XmBtf6+/vL6/Xm+r+vV5vyn3/WmJiYqrrf7bd32bw90/+lXnu3Dk9++yzatOmjSpXrqxGjRpp8+bNKV8XEhLyh7m9Xq/efPPNlMPurl+/LpvNJrvdroULF2r37t3avn27xo4dqxo1aqh///5/eD8AkNVwlioghytSpIg6dOigV155RWfOnEkZ/+WXX/T999/LbrfrxIkTcjqd6tOnj+rWraudO3cqMTFRXq9XBQoU0JkzZ3Tp0iUZY7R27dqU+3jttde0bt06NW3aVCNGjFBoaKhOnjz5p+M3/NX2/qlGjRqpZs2amjdvXsrYl19+qd69e6tJkyaSpB9//FEej+d339umTRutXLlS33//fcpajurVq2vt2rW6cOGCpOQzMb344os3leXYsWP65ZdfVL58eX311VeqU6eO2rVrp/vuu0//+c9/UmVo166dJk6cqAceeEBFihRJ2faiRYtS5mTYsGGaMmWKLl++rFq1ailfvnzq2LGj+vTpo927d/9u+zVq1NDy5cvl9Xp17do1bdq0SZIUGhqqBx98UHPnzpWU/Ib4ueee06ZNm1SxYkUdOXJEhw4dkpR89qUbZeuGv3teS5UqJX9//5TF8ufPn9eGDRtUrVq1m5q3Gw4cOKB9+/ZJkpYsWaLKlSsrODhY1atX18KFC2WMUWJiopYuXZpy3wUKFEiZixvrjf5OjRo1tGTJEknSmTNntHPnTknSnj17VKBAAfXq1UvVq1dPKRt/9LPza9WrV9cHH3yQkq9nz55auHCh9u/fr2bNmql06dLq3r27Onbs+IfPGwBkVezhAKC+fftq9erVeu211xQfH6+YmBjlzZtXTZo0Ufv27eVwOFS7dm01btxYgYGBuueee1SmTBmdOHFCNWrUUNu2bfX000+rUKFCql27dsqbpV69emnIkCFasmSJ/Pz8VL9+fT3yyCMqWLDgH47feENXtmzZP93ebxd+p8XQoUNTnY62b9++6t27t0JCQhQaGqpHHnkk1RvkG+67776Uw5UcDoek5DePXbt2VefOnWWz2RQaGqoZM2b87i/4UvKhMy1atEi57vV6UxY6t23bVq+99pqaN2+upKQkPf744/rss8/k9Xplt9tVp04dDR06NNWhW7169dKECRPUqlUreTwelS9fXgMHDlRoaKh69uypjh07KigoSH5+fn94Stbw8HCNGDFCjRs3VoECBXTPPfek3DZ58mSNGjVKzZs3V2Jiopo1a6Ynn3wy5bYBAwbI4/EoNDRUU6dOTXW/f/Z8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b3s18c88RcySdLMTiUgVpMIhIiISyex2sua+RF6b1iRMmkjMW2+YnUhEqhgVDhERkQhnREeza95s8lr/hYSnHif67++bHUlEqhAVDhEREfGXjvlzKDqvATEfqnCISOCocIiIiAgARkw03nPOwWIYZkcRkSpEhUNERERERIJGhUNERERERIJGhUNERERERIJGhUNERERERIJGhUNERER+YwHfwRxwF5udRESqCBUOERERKZF7d09iduwkesT9Kh0iEhAqHCIiIlLiaI+b2fv4OBJXZRD94GBwu82OJCJhToVDRERESjl8Ty/2jX+UxJWrsT80RKVDRCpEhUNEREROkntvb/aNG0u1r1diH5UGHo/ZkUQkTKlwiIiISJly+/wf2Y+ModqXX2NT6RCRs6TCISIiIqd0qF8fsseMpPoXX2EbMwy8XrMjiUiYUeEQERGR33VoYD9yHhxG9c+/wL42w+w4IhJmVDhERETktI536gCApaDA5CQiEm5UOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREROTM6WNxRaScVDhERETktNy1a+NNTCBm5nNE5eSYHUdEwogKh4iIiJyWr1oiOxa/gvXoMeL79iRq/36zI4lImAhq4Zg5cyZdunShS5cuTJky5aTt27Zt45ZbbqFDhw488sgjeDyeYMYRERGRCnBefik7XluI9fAR4vr2xHJApUNETi9ohWPt2rVkZGSwbNky3n//fbZu3cqKFStK/c7IkSMZN24cn332GYZhsHTp0mDFEQkKd9ZyCj+5jqx5DSn85DrcWcvNjiQiElTOFpezc/ECbLm5xPftheXgAbMjiUiIC1rhSE5OZsyYMURHR2O322ncuDH79u0r2b53715cLheXX345ALfccguffvppsOKIBJw7aznFG8djOLMBA8OZTfHG8SodIlLlFf7pj+xcNB/7wUP+0nHooNmRRCSEBa1wXHjhhSVlYufOnXzyySe0bdu2ZPuBAwdITk4u+Tk5OZn9Oh9Uwoh763Twukovel3+dRGRKq7wipbsWDQf+4GDxN93N5bcXLMjiUiIsgX7AX7++WcGDhzIqFGjaNiwYcm6z+fDYrGU/GwYRqmfz0SNc+LxGvp4vopKSkowO0JYKnCW/SkthjNHMz1LmltgaI6BoTmegU7XcPjd16jZ424SHryf6OUfl9qsGQaG5ijhLqiFY8OGDQwdOpSxY8fSpUuXUttSUlI4ePC3Q7CHDh2idu3a5br/I0cLcOtC8wpJSkogNzff7BhhyRKb8uvpVCeva6blp30xMDTHwNAcy6Fpc7jjNmosfbfUzDTDwNAcAyOprtkJIlvQTqnKzs5myJAhTJs27aSyAVCvXj1iYmLYsGEDAB988AFt2rQJVhyRgLM3Gw5WR+lFq8O/LiISSaxWsxOISAgL2hGOBQsWUFRUxOTJk0vW7rzzTr766iuGDh1K8+bNmTZtGo8++ij5+fk0a9aMe+65J1hxRALO3qAr4L+Ww3DmYIlNwd5seMm6iIiIiIDFMAzD7BBn68c9mTqlqoJ0qDYwNMeK0wwDQ3MMDM2xfFKffJoaby7l6LcbS9Y0w8DQHAMjqXkTsyNENH3TuIiIiIiIBI0Kh4iIiIiIBI0Kh4iIiFSINy6OKJcL+zdrzI4iIiFIhUNEREQqJLfPPRQ1Op+EoYOwffuN2XFEJMSocIiIiEiFeGvUIHPJ6xSfW4/EtIHY/vmt2ZFEJISocIiIiEiFeZNqkrkkneJ6dUkcMgC+0ZEOEfFT4RAREZGA8NZKYseS13GnpuDrfTe2DevNjiQiIUCFQ0RERALGk1yLzKXp+FJTSBzcD9vGDWZHEhGTqXCIiIhIQHmSkzn06Xu4k2uRcP99WLf9YHYkETGRCoeIiIgEnC+lDplL04kqdhPz8d/NjiMiJlLhEBERkaDw1KmDYbeDYXYSETGTCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIiIiASNCoeIiIgEjc/hgH+ugYJ8s6OIiElUOERERCRo9k6aiOPnX4gd1AcKC8yOIyImUOEQERGRoDne8QayXniW2C1bcdzfBwoLzY4kIpVMhUNERESC6niXTux+fipx32/GMbivSodIhFHhEBERkaA71q0Lu5+bQty/v8cxpC84nWZHEpFKosIhIiIileJY927smTaZuH/9G8eQ+8DlMjuSiFQCFQ4RERGpNEdv7s6eqZOJ2/AvYtL6gc9ndiQRCTIVDhEREalUR3vcxP4RQ0n4bh1Re3abHUdEgkyFQ0RERCpdcYP6/n/REQ6RKk+FQ0REREREgkaFQ0REREREgkaFQ0REREREgkaFQ0REREREgkaFQ0REREwTdeiQ2RFEJMhUOERERKTSFbS6EndyLeL/loZ1+y9mxxGRIFLhEBERkUrnqV2bzDdfgygLCff1JmrHdrMjiUiQqHCIiIiIKYobNyLzrdcBSOx7N1E7Mk1OJCLBoMIhIiIipilq3JjMJa+BzyDhvruJ2rnD7EgiEmAqHCIiImKqogsvIPPNxVg8Hn/pyNpldiQRCSAVDhERETFd0UVNyHzzNSzFbhL69iJqd5bZkUQkQFQ4REREJCQUXXwRO95YTJTTSfzUp82OIyIBosIhIiIiIcN1ycU4L7kES36+2VFEJEBUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOEREREREJGhUOERERCTkeI8cBI/H7BgiEgAqHCIiIhJSjnXrjGP7DmxjhoHXa3YcEakgFQ4REREJKYd73UXOqL9R/fMvSHhsjEqHSJizmR1ARERE5H8dvH8A+HykTHsewxJFwcRJYLWaHUtEzoIKh4iIiISkg0MG+UvHcy9AVBQFjz8FUTo5QyTcqHCIiIhIyDqYNhiL10udF2b6S8f4J1Q6RMKMCoeIiIiEtAPDHgCfjzozXvKXjsceV+kQCSMqHCIiIhLaLBYOjBiKxeOh9uy5FLe/DvfVbc1OJSJnSH89ICIiIqHPYuHIbT38/3r8mMlhRKQ8VDhERERERCRoVDhERERERCRoVDhERERERCRoVDhERERERCRoVDhEREQkvBiG2QlEpBxUOERERCQseJJq4ouNJXreS1hyc82OIyJnSIVDREREwoKvWjV2LpyDfV82cff1wnL4sNmRROQMqHCIiIhI2Ci46kp2LpxD9N59/tJxRKVDJNSpcIiIiEhYKfhLK3YumEP0nj3E3Xc3lqNHzI4kIr9DhUNERETCTsFfW7Fr7myis3YT1683lmNHzY4kIqegwiEiIiJhKb9Na3bNfYnonbuI7dcby/FjZkcSkTKocIiIiEjYym97NbvmzCQmcwcxQweaHUdEyqDCISIiImEt/5q2HO55J7E/bDM7ioiUQYVDREREwp4RbTc7goicggqHiIiIiIgEjQqHiIiIiIgEjQqHiIiIiIgEjQqHiIiIiIgEjQqHiIiIiIgEjQqHiIiIiIgEjQqHiIiIiIgEjQqHiIiIiIgETdALR35+Pl27dmXPnj0nbZs5cybt2rWje/fudO/enfT09GDHERERERGRSmQL5p1///33PProo+zcubPM7Vu2bOG5556jRYsWwYwhIiIiIiImCWrhWLp0KePHj2fUqFFlbt+yZQtz5sxh7969XHHFFYwePZqYmJgzvn+7NajxI4LVYsVu0xwrSnOsOM0wMDTHwNAcK66yZxiVlAQNGhBlr2L/3azWqvecJOJYDMMwgv0g7du3Z/HixZx77rklawUFBQwfPpwxY8Zw3nnnMWbMGOrVq8eIESOCHUdERERERCqJaReNx8fHM2/ePBo3bozNZqNv376sXLnSrDgiIiIiIhIEphWOffv28c4775T8bBgGNh2+FhERERGpUkwrHA6Hg6lTp7J7924MwyA9PZ3rr7/erDgiIiIiIhIElV44+vfvz+bNm6lZsyYTJ07k/vvvp2PHjhiGQZ8+fSo7joiIiIiIBFGlXDQuIiIiIiKRSd80LiIiIiIiQaPCISIiIiIiQaPCISIiIiIiQaPCISIiIiIiQRM2X3zxzDPPcOTIESZPnlxqfd++fYwcOZLc3FzOP/98pk2bRnx8vEkpQ9upZrhs2TKeffZZkpKSALjmmmv0je9l6N27N4cPHy75vpiJEydy2WWXlWxfu3YtTz/9NEVFRXTq1EkzPIXTzfHhhx9mw4YNxMbGAvDAAw/oI7PL8NVXXzFz5kycTid//etfefTRR0tt37ZtG4888ggFBQW0bNmSxx9/XN91VIbTzXHmzJm8++67VKtWDYDbb7+dXr16mRE1JL399tu8/vrrJT/v2bOH7t27M27cuJI17YundyZz1L54Zj744APmzp0LQJs2bRg9enSp7XrfaBIjDKxdu9a48sorjdGjR5+0bcCAAcby5csNwzCMmTNnGlOmTKnseGHh92Y4ceJE4+9//7sJqcKHz+czWrdubbjd7jK3O51Oo23btkZWVpbhdruNvn37Gv/4xz8qOWXoO90cDcMwunbtauzfv78SU4WfrKwso3Xr1kZ2drZRXFxs3HXXXSftb126dDE2btxoGIZhPPzww0Z6eroZUUPamcxx4MCBxr/+9S+TEoaX//znP8b1119v5ObmllrXvlg+p5qj9sXTKywsNK644gojNzfXcLvdxq233mqsWbOm1O/ofaM5Qv6UqqNHj/L8888zaNCgk7a53W7WrVtHhw4dALjlllv49NNPKztiyPu9GQJs3ryZZcuW0a1bNx566CGOHTtWyQlDX2ZmJgB9+/blxhtvLPU3UQCbNm3ivPPOo379+thsNrp166Z9sQynm6PT6WTfvn2MHTuWbt268eKLL+Lz+cyIGtJWrFhB586dSUlJwW638/zzz5c6SrR3715cLheXX345oNfGUzndHAG2bNnCnDlz6NatGxMnTqSoqMiktKFvwoQJjBgxgpo1a5asaV8sv7LmCNoXz4TX68Xn8+F0OvF4PHg8HmJiYkq2632jeUK+cIwbN44RI0aUHEL8b0eOHCEhIaHk0GxycjL79++v7Igh7/dmCP65DR48mA8//JDU1FQmTpxYyQlD3/Hjx2nVqhWzZs1i0aJFLFmyhDVr1pRsP3DgAMnJySU/165dW/tiGU43x0OHDnHVVVcxadIkli5dyvr163nnnXdMTByadu3ahdfrZdCgQXTv3p033niD6tWrl2z/3/1Rr41lO90cCwoKaNq0KSNHjmTZsmUcP36cl156ycTEoWvt2rW4XC46depUal37Yvmcao7aF89MQkICw4YNo1OnTrRt25Z69erxxz/+sWS73jeaJ6QLx9tvv01qaiqtWrUqc7thGFgsllJr//tzpDvdDAFmzZrFn/70JywWC/369WP16tWVmDA8tGjRgilTppCYmEjNmjW59dZbWblyZcl2n89Xat8ra9+U08+xfv36zJo1i9q1axMbG0vv3r1LbRc/r9fLN998w6RJk3jrrbfYtGkTy5YtK9mu/fHMnG6O8fHxzJs3j8aNG2Oz2ejbt6/2x1NYsmQJffr0OWld+2L5nGqO2hfPzI8//si7777L119/zerVq4mKimLBggUl2/W+0TwhXTg+/vhj1qxZQ/fu3XnxxRf56quvmDRpUsn2mjVrkpeXh9frBeDgwYPUrl3brLgh6XQzzMvLY9GiRSU/G4aB1Wo1IWloW79+Pd98803Jz4ZhlLroMSUlhYMHD5b8rH2xbKeb408//cRnn312yu3iV6tWLVq1akXNmjVxOBxcd911bNq0qWT7/+6Phw4d0v5YhtPNcd++faWOsGl/LFtxcTHr1q2jffv2J23Tvnjmfm+O2hfPTEZGBq1atSIpKYno6GhuueUW/vnPf5Zs1/tG84R04XjllVdYvnw5H3zwAUOHDqV9+/aMHTu2ZLvdbqdly5Z8/PHHALz//vu0adPGrLgh6XQzjIuLY/78+Xz//fcAvP766/pEoDLk5eUxZcoUioqKyM/PZ9myZaXmdNlll7Fjx46SUzSWL1+ufbEMp5ujYRhMmjSJY8eO4Xa7eeutt7Q/lqFdu3ZkZGRw/PhxvF4vq1evplmzZiXb69WrR0xMDBs2bAD8n9qi/fFkp5ujw+Fg6tSp7N69G8MwSE9P1/5Yhp9++omGDRsSFxd30jbti2fu9+aoffHMXHzxxaxdu5bCwkIMw+Crr76iefPmJdv1vtE8IV04TuWRRx7hyy+/BGD8+PEsXbqUzp07s379eoYPH25yuvBwYoZWq5Xp06czYcIEOnXqxNatWxk5cqTZ8UJOu3btaNu2LTfddBM9evSgR48etGjRgu7du7N//35iYmKYPHkyaWlpdO7cmUaNGtGxY0ezY4ec083x4osvZsCAAdx111106dKFpk2b0rVrV7Njh5zLLruMfv360bNnTzp37kzdunXp0aMH/fv3Z/PmzQBMmzaNp59+mo4dO1JYWMg999xjcurQc7o51qxZk4kTJ3L//ffTsWNHDMMo83SXSLd7925SUlJKrWlfLL/fm6P2xTPTunVrunTpwi233MKNN96Ix+NhwIABet8YAiyGYRhmhxARERERkaopLI9wiIiIiIhIeFDhEBERERGRoFHhEBERERGRoFHhEBERERGRoFHhEBERERGRoFHhEBEJoH//+9/07t2bbt260bVrV/r168fPP/8clMf67rvvyvzY4FOtB8KmTZsYN25c0B9HRESqDn1NpYhIgBQXFzNw4EAWLlxY8gVyH3zwAf379y/53ptw98svv7B//36zY4iISBhR4RARCRCn00leXh6FhYUlazfeeCMJCQl4vV6sVitfffUVs2fPxu1243A4GD16NC1atGDGjBns2rWLnJwcDh48yMUXX8xTTz1FQkICX3/9NXPmzKG4uJjDhw9z0003nfGXVRUXFzNt2jTWrVuH1+vlkksu4dFHHyUhIYH27dtz8803880335CdnU337t1L7nfu3Lm88847xMfH07JlS7788kvS09N58cUXycvL4+GHH+amm26isLCQESNGkJmZSVFREU8++SQtW7YMynxFRCQ86ZQqEZEAqV69OiNHjqRfv35ce+21jBw5knfffZe//OUvREdHs3PnTp5//nnmzp3L+++/zxNPPEFaWlpJQVm3bh3Tp0/nk08+wWazMWvWLAzDYOHChUyePJn33nuPt956i7lz53L48OEzyjR37lysVivvvfceH374IbVr12batGkl2wsLC3njjTdYsmQJCxcuZPfu3axevZr33nuPd955h/fee4+CggIAUlNTGTp0KC1btuTpp58GICcnh3vvvZcPPviAO++8kxkzZgR4qiIiEu50hENEJID69OnDbbfdxrp161i3bh3z5s1j3rx5vPPOO6xZs4YDBw5w7733lvy+xWIhKysLgI4dO1KrVi0Abr31ViZNmsTo0aN5+eWX+cc//sHy5cvZvn07hmHgdDrPKM8//vEP8vLyWLt2LQBut5ukpKSS7ddeey0AderUISkpiWPHjrFy5Uo6duxItWrVAOjVqxfffvttmfdfv359LrvsMgAuvvhi3n333XJMS0REIoEKh4hIgGzYsIGNGzfSr18/2rVrR7t27XjwwQfp2rUra9aswefz0apVK6ZPn15ym+zsbGrXrs2KFStKXePh8/mIioqisLCQm2++meuuu46WLVvSo0cPvvjiCwzDOKNMPp+PsWPH0rZtWwAKCgooKioq2R4TE1Py7xaLBcMwsNlspe7/9649sdvtJ91eRETkv+mUKhGRAKlZsyazZ89m/fr1JWsHDx4kPz+fJk2a0KpVK9asWcP27dsBWLlyJTfeeCMulwuAL7/8kry8PHw+H0uXLqVdu3bs2rWL/Px8hg8fTvv27fnuu+8oLi7G5/OdUabWrVuTnp5ecpvHHnuM55577ndv07ZtWz7//HPy8vIAeOedd0q2Wa1WPB5PueYiIiKRTUc4REQC5Pzzz2fWrFk8//zz5OTkEBMTQ2JiIpMmTaJRo0YATJw4kQcffLDkSMLs2bOJj48HoFatWvTv35+VhXglAAAA/UlEQVQjR45wxRVXMGjQIKKjo7nmmmvo1KkT0dHRNGnShAsuuIBdu3YRHR192kyDBw/mmWee4eabb8br9dK0aVPGjBnzu7dp1aoVt99+O3fccQcOh4MLL7yQ2NhYAC6//HJmzZrFAw88QO/evSs4MRERiQQWQ8e/RURMN2PGDI4cOVLyHRdm2rx5Mxs3buSee+4B4JVXXuH7778vdSqYiIjImdIRDhERKeX8889n3rx5LF26FIvFQmpqKk888f/t28EJAAAIxLDhXdwpigjJBH7L4VyfBcBTFg4AACDjaRwAAMgIDgAAICM4AACAjOAAAAAyggMAAMgIDgAAILN3zujIQEvNHgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 806.85x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.naive_bayes import GaussianNB\n",
    "\n",
    "#Setup X and y data\n",
    "X_data = df1.iloc[:,0:2]\n",
    "y_labels = df1.iloc[:,2].replace({'setosa':0,'versicolor':1,'virginica':2}).copy()\n",
    "\n",
    "#Fit model\n",
    "model_sk = GaussianNB(priors = None)\n",
    "model_sk.fit(X_data,y_labels)\n",
    "\n",
    "\n",
    "# Our 2-dimensional classifier will be over variables X and Y\n",
    "N = 100\n",
    "X = np.linspace(4, 8, N)\n",
    "Y = np.linspace(1.5, 5, N)\n",
    "X, Y = np.meshgrid(X, Y)\n",
    "\n",
    "#fig = plt.figure(figsize = (10,10))\n",
    "#ax = fig.gca()\n",
    "color_list = ['Blues','Greens','Reds']\n",
    "my_norm = colors.Normalize(vmin=-1.,vmax=1.)\n",
    "\n",
    "g = sns.FacetGrid(iris, hue=\"species\", height=10, palette = 'colorblind') .map(plt.scatter, \"1_sepal_length\", \"2_sepal_width\",)  .add_legend()\n",
    "my_ax = g.ax\n",
    "\n",
    "\n",
    "#Computing the predicted class function for each value on the grid\n",
    "zz = np.array(  [model_sk.predict( [[xx,yy]])[0] for xx, yy in zip(np.ravel(X), np.ravel(Y)) ] )\n",
    "\n",
    "\n",
    "#Reshaping the predicted class into the meshgrid shape\n",
    "Z = zz.reshape(X.shape)\n",
    "\n",
    "\n",
    "#Plot the filled and boundary contours\n",
    "my_ax.contourf( X, Y, Z, 2, alpha = .1, colors = ('blue','green','red'))\n",
    "my_ax.contour( X, Y, Z, 2, alpha = 1, colors = ('blue','green','red'))\n",
    "\n",
    "# Addd axis and title\n",
    "my_ax.set_xlabel('Sepal length')\n",
    "my_ax.set_ylabel('Sepal width')\n",
    "my_ax.set_title('Gaussian Naive Bayes decision boundaries')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
